Skip to content

[6.2][SE-0461] Replace @execution(...) with @concurrent and nonisolated(nonsending) #80807

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 15 commits into from
Apr 17, 2025

Conversation

xedin
Copy link
Contributor

@xedin xedin commented Apr 14, 2025

Cherry-pick of #80668


  • Explanation:

    Adjust implementation for SE-0461 to match final/accepted attribute forms.

    • Add @concurrent declaration and type attributes to replace @execution(concurrent)
    • Add new nonsending modifier to nonisolated declaration modifier
    • Make it possible to use nonisolated(nonsending) in type and expression contexts (modeled via CallerIsolatedTypeRepr)
    • Replace @execution(caller) with nonisolated(nonsending) modifier
    • Remove all of the references to @execution attribute throughout the codebase
    • Remove ExecutionAttribute experimental flag
  • Main Branch PR: [SE-0461] Replace @execution(...) with @concurrent and nonisolated(nonsending) #80668

  • Risk: Low (replaces existing @execution attribute, which was guarded by an experimental feature flag, with two new attributes. The only risk here is related to nonisolated keyword expansion to accept nonsending modifier, this could cause a source break if there exists a function which such a name an an argument with name nonsending, which seems like a very low probability).

  • Reviewed By: @hamishknight @AnthonyLatsis @tshortli

  • Testing: Added new tests to the test suite.

@xedin xedin added 🍒 release cherry pick Flag: Release branch cherry picks swift 6.2 labels Apr 14, 2025
@xedin xedin requested a review from hborla April 14, 2025 22:53
@xedin xedin requested a review from a team as a code owner April 14, 2025 22:53
@xedin
Copy link
Contributor Author

xedin commented Apr 14, 2025

@swift-ci please test

@xedin
Copy link
Contributor Author

xedin commented Apr 15, 2025

@swift-ci please clean test

@xedin
Copy link
Contributor Author

xedin commented Apr 15, 2025

swiftlang/swift-syntax#3055
@swift-ci please test

@xedin
Copy link
Contributor Author

xedin commented Apr 15, 2025

swiftlang/swift-syntax#3055
@swift-ci please test Linux platform

@xedin xedin force-pushed the se-0461-renamings-6.2 branch from 29a4d14 to b9444b6 Compare April 15, 2025 20:14
@xedin
Copy link
Contributor Author

xedin commented Apr 15, 2025

swiftlang/swift-syntax#3055
@swift-ci please test

@xedin
Copy link
Contributor Author

xedin commented Apr 16, 2025

swiftlang/swift-syntax#3055
@swift-ci please test macOS platform

@xedin xedin force-pushed the se-0461-renamings-6.2 branch from b9444b6 to 19f8464 Compare April 16, 2025 17:08
@xedin
Copy link
Contributor Author

xedin commented Apr 16, 2025

swiftlang/swift-syntax#3055
@swift-ci please test macOS platform

@xedin
Copy link
Contributor Author

xedin commented Apr 16, 2025

swiftlang/swift-syntax#3055
@swift-ci please test Windows platform

@xedin
Copy link
Contributor Author

xedin commented Apr 16, 2025

swiftlang/swift-syntax#3055
@swift-ci please test Linux platform

xedin added 6 commits April 16, 2025 13:18
Complete the transition from `@execution` to `@concurrent` and `nonisolated(nonsending)`
SE-0461 has been accepted and `@concurrent` and `nonisolated(nonsending)`
can be make generally available now.
Accept it only if it's spelled `nonisolated(nonsending)` and nothing
else to minimize any possible source compatibility impact.
@xedin xedin force-pushed the se-0461-renamings-6.2 branch from 19f8464 to c8c7eef Compare April 16, 2025 20:20
@xedin
Copy link
Contributor Author

xedin commented Apr 16, 2025

swiftlang/swift-syntax#3055
@swift-ci please clean test

@xedin xedin merged commit 65f78f3 into swiftlang:release/6.2 Apr 17, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🍒 release cherry pick Flag: Release branch cherry picks swift 6.2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants